/***************************************************************************
 *   Copyright (C) 2008/2009 by Philipp Müller                             *
 *   philipp.mueller@gmx.de                                                *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA          *
 ***************************************************************************/

#include "dlgchannelinformation.h"
#include "qtvomp.h"

DlgChannelInformation::DlgChannelInformation( MainWindow* mainWindow, int item, QWidget * parent, Qt::WindowFlags flags )
    : QDialog( parent, flags ),
    m_mainWindow( mainWindow )
{
    ui.setupUi( this );

    QModelIndexList selectionList = m_mainWindow->channelListSelectionModel()->selectedIndexes();
    if ( selectionList.size() == ChannelListModel::ChannelColumnsLast )
    {
        int row = selectionList[ 0 ].row();

        if ( row < m_mainWindow->channelList()->size() )
        {
            const ScheduleList * scheduleList = &m_mainWindow->channelList()->at( row ).scheduleList;

            if ( item < scheduleList->size() )
            {
                QString path = QCoreApplication::applicationDirPath() +
                                "/images/logos/" +
                                m_mainWindow->channelList()->at( row ).name + ".png";

                ui.channelName->setText( m_mainWindow->channelList()->at( row ).name );
                ui.title->setText(       scheduleList->at( item ).title );
                ui.subtitle->setText(    scheduleList->at( item ).subTitle );
                ui.description->setText( scheduleList->at( item ).description );
                ui.icon->setPixmap(      QPixmap( path ) );
                ui.time->setText(        m_mainWindow->channelListModel()->timeFromTo( row, item ) );
                return;
            }
        }
        else
        {
            qWarning() << "DlgChannelInformation::DlgChannelInformation: Wrong channel list size: " << m_mainWindow->channelList()->size();
        }
    }
    else
    {
        qWarning() << "DlgChannelInformation::DlgChannelInformation: Wrong selection list size: " << selectionList.size();
    }

    ui.channelName->setText( QString() );
    ui.title->setText(       QString() );
    ui.subtitle->setText(    QString() );
    ui.description->setText( QString() );
    ui.icon->setText(        QString() );
    ui.time->setText(        QString() );
    return;
}


DlgChannelInformation::~DlgChannelInformation()
{
}


